// https://leetcode.cn/problems/subarray-sum-equals-k/description/
// class Solution {
// public:
//     int subarraySum(vector<int>& nums, int k) {
//         //以i位置为结尾的子数组 也是可以把所有的子数组枚举出来 转化为在[0,i-1]区间，有多少个前缀和等于sum[i]-k
//         unordered_map<int ,int> hashi;
//         hashi[0]=1;//出来sum-k刚好等于0的情况，然后吃啥需要加等的是hashi【0】
//         int sum = 0;
//         int result = 0;
//         for(auto x :nums)
//         {
//             sum+=x;
//             if(hashi.find(sum-k) != hashi.end())
//             {
//                 result +=hashi[sum-k];
//             } 
//             hashi[sum]++;
//         }
//         return result;
//     }
// };